﻿using System.ComponentModel.DataAnnotations;

namespace DotNetStar.OpenSDK.WeChat.MP
{
    /// <summary>
    /// 获取用户基本信息（包括UnionID机制）。
    /// </summary>
    /// <seealso cref="WeChatMPApiRequest{UserInfoApiResponse}" />
    public class UserInfoApiRequest : WeChatMPApiRequest<UserInfoApiResponse>
    {
        /// <summary>
        /// 使用令牌和用户标识初始化 <see cref="UserInfoApiRequest"/> 类的新实例。
        /// </summary>
        /// <param name="accessToken">OAuth 认证的令牌字符串。</param>
        /// <param name="openId">用户的唯一标识。</param>
        public UserInfoApiRequest(string accessToken, string openId) : base(" https://api.weixin.qq.com/cgi-bin/user/info", accessToken) => this.OpenId = openId;

        /// <summary>
        /// 获取普通用户的标识，对当前公众号唯一。
        /// </summary>
        [Required]
        public string OpenId { get; }

        /// <summary>
        /// 返回国家地区语言版本，zh_CN 简体(默认)，zh_TW 繁体，en 英语。
        /// </summary>
        [Required]
        public string Lang { get; set; } = "zh_CN";
    }
}
